home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 9
/
FM Towns Free Software Collection 9.iso
/
t_os
/
tool
/
vdgear
/
src
/
video.h
< prev
next >
Wrap
Text File
|
1994-11-16
|
7KB
|
316 lines
/*
* VIDEO GEAR
* "video.h"
* by Good-Chy
*/
#include <msdos.cf>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <direct.h>
#include <dos.h>
#include <egb.h>
#include <snd.h>
#include <mos.h>
#include <fmcfrb.h>
#include <kkstr2.h>
#include <tifflib.h>
#include <sidework.h>
#include <cdrfrb.h>
typedef struct _BUTTON { /* ボタンの構造体 */
struct _BUTTON *next;
int number;
int bx,by;
int dx,dy;
int type;
void (*function)();
} BUTTON;
typedef struct _WINDOW { /* ウィンドの構造体 */
BUTTON *item;
int tx, ty;
int wx, wy;
int dx, dy;
BUTTON *last;
char *win_buf;
} WINDOW;
typedef struct _EFFECT { /* ビデオエフェクトの構造体 */
char flag;
char effect;
char spimpose;
} EFFECT;
typedef struct _PICTURE { /* パソコン画像の構造体 */
char flag;
char effect;
char name[60];
char x,y;
} PICTURE;
typedef struct _CD { /* CDの構造体 */
char flag;
char track;
char state;
} CD;
typedef struct _SOUND { /* 効果音の構造体 */
char flag;
char vol;
char name[60];
} SOUND;
typedef struct _MIXING { /* ミキシングの構造体 */
char flag;
char vol[3];
} MIXING;
typedef struct _DATA { /* デ-タの構造体 */
EFFECT effect;
PICTURE picture;
MIXING mixing;
SOUND sound;
CD cd;
} DATA;
#ifdef MAIN
char egb_work[1536];
char mos_work[4096];
char snd_work[16384];
char mvram1[647*480*8/4];
char mvram2[320*2*240];
char pal_buff[16*8+4];
char mos_pattern[2+512+128];
char para[64];
char key_buff[80];
char av_flag;
char fade_speed;
char effect_speed;
char *pic;
char *work_path;
char *snd_bp;
int sp_light;
int max_vol, cd_vol;
int err;
int step;
int active;
int key_flag, key_cursor; /* キ-入力用 */
int key_x, key_y, key_len;
int flag[3]; /* エフェクト実行用 */
int start_track, end_track, cd_status; /* CD演奏用 */
int cd_type, now_track, now_track;
struct TIMEADRS track_time[99];
struct TIMEADRS disc_time, end_time;
struct TIMEADRS now_time, now_disc_time;
WINDOW win[5];
DATA data[50];
char *state[] = {
"ON", "OFF",
"プレイ", "ストップ", "フェ-ドイン", "フェ-ドアウト"
};
char *eff_str[] = { /* ビデオ効果のリスト */
"ストライプ 縦 ", "ストライプ 横 ",
"ワイプアップ ", "ズ-ムイン ",
"バ-チカルオ-プン ", "ワイプダウン ",
"ズ-ムアウト ", "バ-チカルクロ-ズ ",
"ワイプレフト ", "ディゾルブ 粗 ",
"ホリゾンタルオ-プン ", "ワイプライト ",
"ディゾルブ 細 ", "ホリゾンタルクロ-ズ ",
"効果なし "
};
char *err_msg[] = { /* エラ-メッセ-ジのリスト */
" 全ての項目を設定してください ",
" ファイルが見つかりません ",
"ビデオギアのデ-タではありません",
" デ-タが書き込めません ",
" ディスクが読み込めません ",
" TIFFデ-タが読み込めません ",
" 3万2千色以外は読み込めません ",
" TIFFのサイズが大きすぎます ",
" ファイル名を入力してください ",
" メモリの確保ができません ",
" SNDファイルではありません "
};
char *con_msg[] = { /* 確認ウィンドウのメッセ-ジ */
" 終了します ",
" 全て消去します ",
" 編集中のデ-タは失われます ",
" ファイルを上書きします ",
" ファイルを新規作成します "
};
#else
extern char egb_work[];
extern char mos_work[];
extern char snd_work[];
extern char mvram1[];
extern char mvram2[];
extern char pal_buff[];
extern char mos_pattern[];
extern char para[];
extern char key_buff[];
extern char av_flag;
extern char fade_speed;
extern char effect_speed;
extern char *work_path;
extern char *snd_bp;
extern int sp_light;
extern int max_vol, cd_vol;
extern int err;
extern int step;
extern int active;
extern int key_flag, key_cursor;
extern int key_x, key_y, key_len;
extern int flag[];
extern char *pic;
extern WINDOW win[];
extern DATA data[];
extern char *state[];
extern char *eff_str[];
extern char *err_msg[];
extern char *con_msg[];
extern int start_track, end_track, cd_status;
extern int cd_type, now_track, now_track;
extern struct TIMEADRS track_time[];
extern struct TIMEADRS disc_time, end_time;
extern struct TIMEADRS now_time, now_disc_time;
#endif
/*
* "main.c"
*/
void step_print();
void all_clear();
void all_clear_sub();
/*
* "grp.c"
*/
void screen1();
void screen2();
void mos_init();
void main_screen_load();
void box_full(int x1, int y1, int x2, int y2, int c1, int c2, int func);
void line(int x1, int y1, int x2, int y2, int c1);
void put_vram(char *p, int x1, int y1, int x2, int y2);
void put_vram_zoom(char *p, int x1, int y1, int x2, int y2, int dx, int dy);
void scroll(int x1, int y1, int x2, int y2, int vx, int vy);
void sprint(char *str, int x, int y, int c1, int c2, int vx, int vy, int sty);
void sprintusing(int obj, int keta, int x, int y, int c1, int c2,
int vx, int vy, int sty);
void tiff_save(char *file_name, char *buf, int x, int y);
void set_palette(int i, char r, char g, char b);
void wait_vsync();
extern char *get_vram(int flag,int x1, int y1, int x2, int y2);
extern char *tiff_load(char *file_name);
/*
* "gui.c"
*/
void setmos(int pat);
void dummy();
void close();
void drow(BUTTON *p);
void pro_exit();
BUTTON *window_open(int x1, int y1, int x2, int y2, int tx, int ty);
BUTTON *create(BUTTON *wp, int bx, int by, int dx, int dy,
int type, void (*func)());
BUTTON *check_button(int x, int y);
/*
* "file.c"
*/
void data_load();
void data_save();
void file();
void f_up();
void f_down();
void d_sub();
void d_add();
void file_sel(int mode);
/*
* "key.c"
*/
void kana_init();
void kana_end();
void line_input();
void key_start(int x, int y, int len);
void key_end();
void cursor_dsp(int flag);
void key_buff_clear();
/*
* "window.c"
*/
void err_window(int err, int x, int y);
void con_win(int con);
void picture();
void picture_load();
void picture_print(int stp, int x, int y);
void effect_print(int effect, int x, int y);
void cd_print(int i);
void sound_print(int i);
void sound_name();
void video_win();
void cd_win();
void sound_win();
void mixing();
/*
* "play.c"
*/
void play();
/*
* "effect.c"
*/
void stripe1(int f);
void stripe2(int f);
void wipe_up(int f);
void zoom_in(int f);
void verchcal_open(int f);
void wipe_down(int f);
void zoom_out(int f);
void verchcal_close(int f);
void wipe_left(int f);
void dizorve1(int f);
void hrizontal_open(int f);
void wipe_right(int f);
void dizorve2(int f);
void hrizontal_close(int f);
void nothing(int f);
/*
* "snd.c"
*/
void snd_init();
void vol_set(int stp);
void snd_play(char *bp, int vol);
extern char *snd_load(char *name);
/*
* "cdp.c"
*/
void play_cd_da(int track);
void toc_read();